home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / bash_114.zip / bash-1.14.2 / builtins.h < prev    next >
C/C++ Source or Header  |  1993-10-26  |  2KB  |  46 lines

  1. /* builtins.h -- What a builtin looks like, and where to find them. */
  2.  
  3. /* Copyright (C) 1987,1991 Free Software Foundation, Inc.
  4.  
  5.    This file is part of GNU Bash, the Bourne Again SHell.
  6.  
  7.    Bash is free software; you can redistribute it and/or modify it
  8.    under the terms of the GNU General Public License as published by
  9.    the Free Software Foundation; either version 1, or (at your option)
  10.    any later version.
  11.  
  12.    Bash is distributed in the hope that it will be useful, but WITHOUT
  13.    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  14.    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
  15.    License for more details.
  16.  
  17.    You should have received a copy of the GNU General Public License
  18.    along with Bash; see the file COPYING.  If not, write to the Free
  19.    Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  20.  
  21. #include "config.h"
  22. #include "command.h"
  23. #include "general.h"
  24.  
  25. #if defined (ALIAS)
  26. #include "alias.h"
  27. #endif
  28.  
  29. /* Flags describing various things about a builtin. */
  30. #define BUILTIN_ENABLED 0x1    /* This builtin is enabled. */
  31. #define STATIC_BUILTIN  0x2    /* This builtin is not dynamically loaded. */
  32. #define SPECIAL_BUILTIN 0x4    /* This is a Posix `special' builtin. */
  33.  
  34. /* The thing that we build the array of builtins out of. */
  35. struct builtin {
  36.   char *name;            /* The name that the user types. */
  37.   Function *function;        /* The address of the invoked function. */
  38.   int flags;            /* One of the #defines above. */
  39.   char **long_doc;        /* NULL terminated array of strings. */
  40.   char *short_doc;        /* Short version of documenation. */
  41. };
  42.  
  43. /* Found in builtins.c, created by builtins/mkbuiltins. */
  44. extern int num_shell_builtins;    /* Number of shell builtins. */
  45. extern struct builtin shell_builtins[];
  46.